package cn.gcyl.module.biz.controller.admin.specialmeeting.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import com.alibaba.excel.annotation.*;

@Schema(description = "管理后台 - 专场会议管理 Response VO")
@Data
@ExcelIgnoreUnannotated
public class SpecialMeetingRespVO {

    @Schema(description = "会议id", requiredMode = Schema.RequiredMode.REQUIRED, example = "26107")
    @ExcelProperty("会议id")
    private Long id;

    @Schema(description = "会议名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "李四")
    @ExcelProperty("会议名称")
    private String meetingName;

    @Schema(description = "会议简介", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("会议简介")
    private String meetingSynopsis;

    @Schema(description = "会议状态（0未开始 1进行中 2已结束）")
    private Integer activeState;
    @Schema(description = "会议开始时间", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("会议开始时间")
    private LocalDateTime startTime;

    @Schema(description = "会议结束时间", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("会议结束时间")
    private LocalDateTime endTime;
    /**
     * 是否置顶
     */
    @Schema(description = "是否置顶", requiredMode = Schema.RequiredMode.REQUIRED)
    private Integer isTop;

    @Schema(description = "是否为免费会议（0是 1否）", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("是否为免费会议（0是 1否）")
    private Integer isFreeMeeting;

    @Schema(description = "浏览人数")
    private Integer visitors;
    @Schema(description = "会议方案id", example = "18976")
    @ExcelProperty("会议方案id")
    private String meetingPlanId;

    @Schema(description = "会议地址")
    @ExcelProperty("会议地址")
    private String meetingAddress;

    @Schema(description = "封面", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("封面")
    private String cover;

    @Schema(description = "轮播图", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("轮播图")
    private String carouselImage;

    @Schema(description = "会议详情", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("会议详情")
    private String details;

    @Schema(description = "创建时间", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("创建时间")
    private LocalDateTime createTime;
    @Schema(description = "更新时间", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("更新时间")
    private LocalDateTime updateTime;

    /**
     * 排序
     */
    @Schema(description = "排序")
    private Integer sort;
    /**
     * 是否收藏(0未收藏 1已收藏)
     */
    private Integer isCollect;
    /**
     * 是否报名(0未报名 1已报名)
     */
    private Integer isEnroll;
    /**
     * 报名信息id
     */
    private Long informationId;

}